//二分查找指定数字是存在已有的有序数组里，有的话输出数组下标
#include <stdio.h>
int main()
{
    int arr[]={1,2,3,4,5,6,7,8,9,10};
    int sz=sizeof(arr)/sizeof(arr[0]);
    int t=0,x=0;
    printf("请输入需要查询的数字。\n");
    scanf("%d",&t);
    x=search(arr,t,sz);
    if (x!=-1)
    printf("找到了，下标为%d\n",x);
    else
    printf("没有找到！");
    return 0;
}
int search(int aa[],int k,int sz)//int search(int *aa,int k,int sz)
{
    int left=0,right=sz-1,mid=0;
    while(left<=right)
    {
    mid=(left+right)/2;
    if(k<aa[mid])
    right=mid-1;
    else if(k>aa[mid])
    left=mid+1;
    
    else 
    return mid;

    }
    return -1;
}